<?php
/*
 * 观察者模式
 * 
 * 
 */
function my_autoloader($class) {
    //var_dump($class);
    include $class . '.php';
}
spl_autoload_register('my_autoloader');

//
$login = new Login();
$login->attach(new SecurityMonitor());

$login->handleLogin($user='aa',$pass='pwd',$ip='');


//
new SecurityMonitorPlus($login);
new GeneralLogger($login);
new PartnershipTool($login);

$login->handleLogin($user='aa',$pass='pwd',$ip='');


//依赖 内置SPL(Standard PHP Library，PHP标准类)提供了对观察者的原生支持
//观察者由3个元素组成：SplObserver、SplSubject、SplObjectStorage
//SplObserver和SplSubject都是接口
//SplObjectStorage是一个工具类，用于处理存储和对象删除对象。
$login_plus = new LoginPlus();

new PartnershipToolPlus($login_plus);
$login_plus->handleLogin($user='aa',$pass='pwd',$ip='');
